//接口
//1.使用关键字interface修饰
//2.接口不能实例化
//3.接口中的成员默认被定义为public static final的
//4.接口中的方法默认被定义为public static 的
//5.接口中的方法不能被实现，但是可以写一个default方法，一个默认的方法
//6.接口中不能有构造方法
//7.接口需要被类实现，使用关键字implements来实现
//8.接口中可以有static修饰的方法
interface  IShape
{
    public abstract void draw();
    public static void func()
    {
        System.out.println("staticFunc");
    }
}
class Rection implements IShape
{
    @Override
    public void draw() {
        System.out.println("矩形！");
    }
}
class Flowers implements IShape
{
    @Override
    public void draw() {
        System.out.println("花！");
    }
}
public class Test1 {
    public static void shapeMap(IShape shape)
    {
        shape.draw();
    }
    public static void main(String[] args) {
        //IShape shape=new IShape;//接口不能实例化

//        Rection rect=new Rection();
//        Flowers flower=new Flowers();
//        shapeMap(rect);
//        shapeMap(flower);
        IShape shape=new Rection();
        IShape shape1=new Flowers();
        shapeMap(shape);
        shapeMap(shape1);
    }
}
